#pragma once
#include"Core.h"
#include"Events/Event.h"
#include"myMiniEngine/Core/Timestep.h"

namespace myMiniEngine {
class MGE_API Layer
{
public:
	Layer(const std::string& name = "Layer");
	virtual ~Layer();

	virtual void OnAttach() {}
	virtual void OnDetach() {}
	virtual void OnUpdate(myMiniEngine::Timestep ts) {}
	virtual void OnImGuiRender() {}
	virtual void OnEvent(Event& event) {}

	inline const std::string& GetName() const { return debugname; }
protected:

	std::string debugname;

};



}


